package com.nuc.zyt.aspect;

import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import org.springframework.stereotype.Component;


/**
 * @ClassName UserProxy
 * @Description TODO
 * @Author 耀酱
 * @Date 2023/6/7 17:03
 * @Version 1.0
 */

/**
 * 添加AOP相关的依赖库，包括spring-aop.jar、spring-aspects.jar、aspectjweaver.jar等。
 *
 * 在Spring配置文件中添加aop:aspectj-autoproxy元素声明，以启用自动代理功能。
 *
 * 编写切面类，使用@Aspect注解标注，并在类中定义切点和通知。
 *
 * 在Spring配置文件中声明切面类，以便Spring能够自动将其实例化并将其应用于目标对象。
 *
 *
 */

@Aspect // 该注解取代的是 <aop/> 标签
@EnableAspectJAutoProxy  // 该注解取代 自动生成代理对象配置 <aop:aspectj-autoproxy></aop:aspectj-autoproxy>
public class UserProxy  {

    @Before(value = "execution(* com.nuc.zyt.Service.Impl.UserServiceImpl.*(..))")
   public void before(){
       System.out.println("before方法....");
       Logger logger = LoggerFactory.getLogger(UserProxy.class);
       logger.info("这是一条info日志");
   }
}
